查看原文
其他

数据同步之道(Sqoop、dataX、Kettle、Canal、StreamSets)

Editor's Note

老读者应该都知道,之前在分享 数仓漫谈-ETL系列 中,我们已对数据同步介绍学习过。温故知新,今天我们通过对 Sqoop、dataX、Kettle、Canal、StreamSets 横向对比再来回顾学习一下吧。

The following article is from 数据爱好者社区 Author 默大神


张一鸣:每个逆袭的年轻人,都具备的底层能力


01. Sqoop

Sqoop,SQL-to-Hadoop 即 “SQL到Hadoop和Hadoop到SQL”。

是Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具。主要用于在Hadoop与关系型数据库之间进行数据转移,可以将一个关系型数据库(MySQL ,Oracle等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中。

sqoop命令的本质是转化为MapReduce程序。sqoop分为导入(import)和导出(export),策略分为table和query,模式分为增量和全量。



命令简单示例:


02. DataX 

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

github地址:https://github.com/alibaba/DataX

支持数据源:



DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader+Writer插件,纳入到整个同步框架中。

目前已到datax3.0框架设计:


datax使用示例,核心就是编写json配置文件job:


03. kettle

Kettle,中文名:水壶,是一款国外免费开源的、可视化的、功能强大的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。

Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。

Kettle的最大特点:

  • 免费开源:基于Java免费开源软件

  • 易配置:可跨平台,绿色无需安装

  • 不同数据库:ETL工具集,可管理不同数据库的数据

  • 两种脚本文件:transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制

  • 图形界面设计:托拉拽,无需写代码

  • 定时功能:在Job下的start模块,有一个定时功能,可以每日,每周等方式进行定时



福利:需要Kettle资源教程视频的同学,公众号后台回复关键字:kettle,即可获取哦~


04. canal

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据实时订阅和消费,目前主要支持了MySQL,也支持mariaDB。

很多大型的互联网项目生产环境中使用,包括阿里、美团等都有广泛的应用,是一个非常成熟的数据库同步方案,基础的使用只需要进行简单的配置即可。

github地址:https://github.com/alibaba/canal

当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x


canal是通过模拟成为mysql 的slave的方式,监听mysql 的binlog日志来获取数据,binlog设置为row模式以后,不仅能获取到执行的每一个增删改的脚本,同时还能获取到修改前和修改后的数据,基于这个特性,canal就能高性能的获取到mysql数据数据的变更。


05. StreamSets

Streamsets是一个大数据实时采集ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。

数据源支持MySQL、Oracle等结构化和半/非结构化,目标源支持HDFS、Hive、Hbase、Kudu、Solr、Elasticserach等。创建一个Pipelines管道需要配置数据源(Origins)、操作(Processors)、目的地(Destinations)三部分。

Streamsets的强大之处:

  • 拖拽式可视化界面操作,No coding required 可实现不写一行代码

  • 强大整合力,100+ Ready-to-Use Origins and Destinations,支持100+数据源和目标源

  • 可视化内置调度监控,实时观测数据流和数据质量



推荐阅读


(点击标题可跳转阅读)

菜鸟数据中台技术演进之路

Spark 数据倾斜及其解决方案

美团点评基于 Flink 的实时数仓平台实践(附视频)

Hive性能优化(全面)

解读数据同步、增量Merge与数据漂移

叮!致2020的一封技术情书,请查收!文末2019年文章精选


看完本文有收获?请转发分享给更多人

关注「数仓社区」加星标,提升数据技能




2020年第1天开通了知识星球,学习小密圈扫码加入哦

致力于更高质量的服务

限时优惠





更多精彩



如果您对文章感兴趣,欢迎加入数仓技术交流群。进群方式:请加小助微信(微信号:iom1128),回复:数据,备注行业-职位-城市,审核通过 会自动拉你进群。也可领取大数据学习资料哦。


你也「在看」吗?👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存